<?php
// 此函数会在beezTabs风格的位置按相应模块的数量n反复调用相同的次数，不同于普通的循环输出，它会取消前n-1次输出，而在第n次才整体输出全部内容。
// Joomla!2.5及之前版本中{loadposition}无法应用此style
function modChrome_tabs($module, $params, $attribs)
{
	// 后台无id属性设置，所以$area恒为1
	$area = isset($attribs['id']) ? (int) $attribs['id'] :'1';
	$area = 'area-'.$area;
	// 定义模块计数与模块数组
	static $modulecount;
	static $modules;
	// 某位置无模块则：将$modules定义为空数组
	if ($modulecount < 1) {
		$modulecount = count(JModuleHelper::getModules($attribs['name']));
		$modules = array();
	// 在第n次调用时输出：
	}
	if($modulecount == 1) {
		// stdClass()基类可以调用全部属性
		$temp = new stdClass();
		$temp->content = $module->content;
		$temp->title = $module->title;
		$temp->params = $module->params;
		$temp->id=$module->id;
		$modules[] = $temp;
		// TabsPanle外套
		echo   "\n".'<!-- ‡‡‡‡‡‡‡‡‡ TabbedPanle ‡‡‡‡‡‡‡‡‡ -->';
		printf("\n".'<div id="%s" class="tabbed ding">',
			$area
		);
		echo   "\n  ".'<ul class="group">'; 
		$counter=0;
		// 循环输出
		foreach($modules as $rendermodule) {
			$counter ? $activeClass='' : $activeClass=' class="active"';
			// Tab外套
			printf("\n    ".'<li%s><a href="#" id="link_%s"><span>%s</span></a>',
				$activeClass,
				$rendermodule->id,
				$rendermodule->title
			);
			echo   "\n      ".'<div class="content">';
			$counter ++;
			// 输出正文
			echo   "\n".'<!-- ‡‡‡‡‡‡‡‡‡ module ‡‡‡‡‡‡‡‡‡ -->';
			echo $rendermodule->content;
			echo   "\n".'<!-- ‡‡‡‡‡‡‡‡‡ /module ‡‡‡‡‡‡‡‡‡ -->';
			// Tab外套
			echo   "\n      ".'</div>';
			echo   "\n    ".'</li>';
		}
		// TabsPanle外套
		echo   "\n  ".'</ul>';
		$modulecount--;;
		echo   "\n".'</div>';
		echo   "\n".'<!-- ‡‡‡‡‡‡‡‡‡ /TabbedPanle ‡‡‡‡‡‡‡‡‡ -->';
	} else {
		// 前第n<n-1次调用本函数不做输出，只将数组赋值给静态变量$modules[]用于最后一次调用时的输出，并计算剩余调用次数
		$temp = new stdClass();
		$temp->content = $module->content;
		$temp->params = $module->params;
		$temp->title = $module->title;
		$temp->id = $module->id;
		$modules[] = $temp;
		$modulecount--;
	}
}
?>